home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 7.3 KB | 253 lines |
- 10 'OPENWIRE - Open Wire Feeders - 28 JAN 94 rev. 27 SEP 96
- 20 CLS:KEY OFF
- 30 IF EX$=""THEN EX$="EXIT"
- 40 IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
- 50 COMMON EX$,PROG$
- 60 COLOR 7,0,1
- 70 LF=1/LOG(10) 'log factor to convert to log base 10
- 80 E$=STRING$(79,32) 'line blanker
- 90 UL$=STRING$(80,205)
- 100 '
- 110 '.....AWG calculator
- 120 DIM GA(40) 'AWG sizes
- 130 K=(0.46/0.005)^(1/39) 'increment multiplier
- 140 FOR Z=1 TO 40
- 150 N=Z+3
- 160 GA(Z)=0.46/K^N
- 170 NEXT Z
- 180 '
- 190 '.....start
- 200 CLS
- 210 COLOR 15,2
- 220 PRINT " OPEN-WIRE TRANSMISSION LINES";
- 230 PRINT TAB(57);"by George Murphy VE3ERP ";
- 240 COLOR 1,0:PRINT STRING$(80,223);
- 250 COLOR 7,0
- 260 PRINT " Press number in < > to choose standard units of measure:"
- 270 PRINT UL$;
- 280 PRINT " < 1 > Metric"
- 290 PRINT " < 2 > U.S.A./Imperial"
- 300 PRINT UL$;
- 310 PRINT " or Press < 0 > to EXIT....."
- 320 Z$=INKEY$
- 330 IF Z$="0"THEN CLS:CHAIN GO$
- 340 IF Z$="1"THEN UM=25.4:UM$="mm":GOTO 370
- 350 IF Z$="2"THEN UM=1:UM$="in.":GOTO 370
- 360 GOTO 320
- 370 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 380 PRINT " Press number in < > to:
- 390 PRINT UL$;
- 400 PRINT " < 1 > Find IMPEDENCE of single wire line"
- 410 PRINT " < 2 > Find IMPEDENCE and LOSS of 2-wire line"
- 420 PRINT " < 3 > Find SPACING and LOSS of 2-wire line"
- 430 PRINT " < 4 > Find IMPEDANCE of 4-wire line"
- 440 PRINT " < 5 > List characteristics of U.S.A. standard open-wire ";
- 450 PRINT "transmission lines"
- 460 PRINT UL$;
- 470 PRINT " NOTE:"
- 480 PRINT " Spacing in this program refers to centre-to-centre distance ";
- 490 PRINT "between wires."
- 500 Z$=INKEY$
- 510 IF Z$="1"THEN 760
- 520 IF Z$="2"THEN 950
- 530 IF Z$="3"THEN 1160
- 540 IF Z$="4"THEN 1560
- 550 IF Z$="5"THEN 1940
- 560 GOTO 500
- 570 '
- 580 '.....input wire size
- 590 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 600 PRINT " Press number in < > to indicate how you wish to enter wire size:"
- 610 PRINT UL$;
- 620 PRINT " < 1 > by diameter in millimetres"
- 630 PRINT " < 2 > by diameter in decimal inches"
- 640 PRINT " < 3 > by AWG #"
- 650 Z$=INKEY$
- 660 IF Z$="1"THEN DIA=25.4:D$="( mm )..":GOTO 700
- 670 IF Z$="2"THEN DIA=1:D$="( in.)..":GOTO 700
- 680 IF Z$="3"THEN DIA=0:D$="( AWG #)":GOTO 700
- 690 GOTO 650
- 700 PRINT UL$;
- 710 PRINT " ENTER: Wire size ";D$;".....";:INPUT D
- 720 IF Z$="3"THEN AWG=D
- 730 IF DIA THEN D=D/DIA ELSE D=GA(D)
- 740 RETURN
- 750 '
- 760 '.....single wire impedance calculation
- 770 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 780 GOSUB 570
- 790 PRINT " ENTER: Height of wire above ground plane (";UM$;")";
- 800 INPUT H:H=H/UM
- 810 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 820 PRINT " Impedance of a Single Wire transmission line"
- 830 PRINT UL$;
- 840 Z=LF*138*LOG(4*H/D)
- 850 PRINT " Wire diameter.....................";USING "#####.###";D*UM;
- 860 PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
- 870 PRINT ""
- 880 PRINT " Distance away from ground plane...";USING "#####.#";H*UM;
- 890 PRINT " ";UM$
- 900 PRINT " Impedance.........................";USING "#####.#";Z;:PRINT" -"
- 910 COLOR 7,0
- 920 PRINT UL$;
- 930 GOTO 2350
- 940 '
- 950 '.....2-wire impedance calculation
- 960 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 970 GOSUB 580
- 980 PRINT " ENTER: Space between open wires (";UM$;") ";
- 990 INPUT S:S=S/UM
- 1000 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1010 PRINT " Impedance of a 2-Wire Open-Wire transmission line:"
- 1020 PRINT UL$;
- 1030 IF S<D THEN 1500 'spacing less than diameter
- 1040 Z=LF*276*LOG(2*S/D)
- 1050 PRINT " Wire diameter.....................";USING "###.###";D*UM;
- 1060 PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
- 1070 PRINT ""
- 1080 PRINT " Wire spacing......................";USING "###.###";S*UM;
- 1090 PRINT " ";UM$
- 1100 PRINT " Impedance.........................";USING "#####.#";Z;:PRINT" -"
- 1110 'COLOR 7,0
- 1120 'PRINT UL$;
- 1130 'GOTO 2000
- 1140 GOTO 2070
- 1150 '
- 1160 '.....2-wire spacing calculation
- 1170 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1180 GOSUB 580
- 1190 INPUT " ENTER: Desired impedance of line in ohms.........";Z
- 1200 LOCATE 3:VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1210 IF Z>=83.1 THEN 1370
- 1220 BEEP
- 1230 T=8
- 1240 PRINT
- 1250 PRINT TAB(T);
- 1260 PRINT "Open-wire lines of less than 83.1 - impedance are not physically"
- 1270 PRINT TAB(T);
- 1280 PRINT "possible because the space between the wires would theoretically"
- 1290 PRINT TAB(T);
- 1300 PRINT "be zero or less."
- 1310 PRINT
- 1320 PRINT TAB(T);
- 1330 PRINT "Press any key to start over.........."
- 1340 IF INKEY$=""THEN 1340
- 1350 CLS:ERASE GA:GOTO 40
- 1360 '
- 1370 PRINT " Spacing of a 2-wire open transmission line:"
- 1380 PRINT UL$;
- 1390 X=Z/276
- 1400 Q=10^X
- 1410 S=Q/2*D
- 1420 IF S<D THEN 1500 'spacing less than diameter
- 1430 PRINT " Impedance.........................";USING " #####";Z;:PRINT " -"
- 1440 PRINT " Wire diameter.....................";USING "###.###";D*UM;
- 1450 PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
- 1460 PRINT ""
- 1470 PRINT " Wire spacing......................";USING "###.###";S*UM;
- 1480 PRINT " ";UM$
- 1490 IF S>D THEN 1540
- 1500 BEEP:PRINT " NOT POSSIBLE! Wire diameter exceeds spacing!"
- 1510 PRINT " Press any key.................."
- 1520 IF INKEY$=""THEN 1520
- 1530 CLS:ERASE GA:GOTO 40
- 1540 GOTO 2070
- 1550 '
- 1560 '.....4-wire calculation
- 1570 GOSUB 570
- 1580 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1590 R=0 'row
- 1600 C=34 'column
- 1610 LOCATE R+3,C:PRINT " A"
- 1620 LOCATE R+4,C:PRINT " <UNK! {FE22}>
- 1630 LOCATE R+5,C:PRINT " |"
- 1640 LOCATE R+6,C:PRINT "C <UNK! {FE2D}>- + --<UNK! {FE20}>D"
- 1650 LOCATE R+7,C:PRINT " |"
- 1660 LOCATE R+8,C:PRINT " <UNK! {FE22}>
- 1670 LOCATE R+9,C:PRINT " B"
- 1680 PRINT UL$;
- 1690 T$=" IMPEDANCE OF 4-wire OPEN-WIRE TRANSMISSION LINE "
- 1700 LOCATE CSRLIN,16:COLOR 15,2:PRINT T$:COLOR 7,0
- 1710 PRINT UL$;
- 1720 PRINT " ENTER: Dimension AC or BD (";UM$;") ";
- 1730 INPUT S1:S1=S1/UM
- 1740 PRINT " ENTER: Dimension AD or BC (";UM$;") ";
- 1750 INPUT S2:S2=S2/UM
- 1760 S3=SQR(S1^2+S2^2)
- 1770 VIEW PRINT 13 TO 24:CLS:VIEW PRINT:LOCATE 13
- 1780 Z=LF*138*LOG(2*S2/(D*SQR(1+(S2/S1)^2)))
- 1790 PRINT " Wire diameter.............................";USING "####.###";D*UM;
- 1800 PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
- 1810 PRINT ""
- 1820 PRINT " Distance from wires A to C and B to D.....";USING "####.###";S1*UM;
- 1830 PRINT " ";UM$
- 1840 PRINT " Distance from wires A to D and B to C.....";USING "####.###";S2*UM;
- 1850 PRINT " ";UM$
- 1860 PRINT " Distance from wires A to B and C to D.....";USING "####.###";S3*UM;
- 1870 PRINT " ";UM$
- 1880 PRINT " Impedance.................................";USING "####.###";Z;
- 1890 PRINT " -"
- 1900 PRINT UL$;
- 1910 COLOR 7,0
- 1920 GOTO 2350
- 1930 '
- 1940 '.....open wire characteristics
- 1950 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1960 PRINT " Type Impedance Vel. pF/ft."
- 1970 PRINT UL$;
- 1980 PRINT " Open Wire, #12 AWG - 97% -"
- 1990 PRINT " 75 - transmitting twin lead 75 - 67% 19.0"
- 2000 PRINT " 300 - twin lead 300 - 82% 5.8"
- 2010 PRINT " 300 - tubular 300 - 80% 4.8"
- 2020 PRINT " TV type 1/2 in. open wire 300 - 95% -"
- 2030 PRINT " TV type 1.0 in. open wire 450 - 95% -"
- 2040 PRINT UL$;
- 2050 GOTO 2350
- 2060 '
- 2070 '.....loss calculations according to WES, N7WS
- 2080 IF UM=1 THEN M$="feet"ELSE M$="metres"
- 2090 PRINT " ENTER: Line Length ( ";M$;" )....";:INPUT LG
- 2100 IF UM=2 THEN LG=LG*0.3048
- 2110 INPUT " ENTER: Frequency (MHz).........";F
- 2120 LOCATE CSRLIN-2:PRINT E$:PRINT E$:LOCATE CSRLIN-2
- 2130 PRINT " Frequency.........................";USING "###.###";F;:PRINT " MHz"
- 2140 RT=(0.2/D)*F^(1/2) 'Rt factor
- 2150 X=(S/D)
- 2160 E=14400*(LOG(X+SQR(X*X-1))^2)/Z^2 'log(x+<UNK! {00FB}>(x*x-1)) = acosh(x)
- 2170 U$="###.###"
- 2180 PRINT " Effective Dielectric Constant.....";USING U$;E
- 2190 PRINT " Power Factor......................";USING U$;0;
- 2200 PRINT " (assumed)"
- 2210 RT=(0.2/D)*F^0.5
- 2220 PRINT " Resistance at this frequency......";USING U$;RT;:PRINT " -"
- 2230 A=4.34*RT/(Z+(2.78*((F*E)^0.5)*F*P))
- 2240 PRINT " Unit Loss.........................";USING U$;A;
- 2250 PRINT " dB/100 feet"
- 2260 PRINT " =";USING U$;A/0.3048;
- 2270 PRINT " dB/100 metres"
- 2280 IF UM=1 THEN M=1 ELSE M=0.3048
- 2290 PRINT " Line Length.......................";USING U$;LG;:PRINT " ";M$
- 2300 PRINT " Line Loss.........................";USING U$;LG/100*A/M;
- 2310 PRINT " dB"
- 2320 PRINT UL$;
- 2330 GOTO 2350
- 2340 '
- 2350 '.....end
- 2360 GOSUB 2400
- 2370 GOTO 190 'start
- 2380 END
- 2390 '
- 2400 'HARDCOPY
- 2410 GOSUB 2520:LOCATE 25,2:COLOR 14,6
- 2420 PRINT " Press 1 to print screen, 2 to print screen & ";
- 2430 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 2440 Z$=INKEY$:IF Z$="3"THEN GOSUB 2520:RETURN
- 2450 IF Z$="1"OR Z$="2"THEN GOSUB 2520:GOTO 2470
- 2460 GOTO 2440
- 2470 FOR QX=1 TO 24:FOR QY=1 TO 80
- 2480 LPRINT CHR$(SCREEN(QX,QY));
- 2490 NEXT QY:NEXT QX
- 2500 IF Z$="2"THEN LPRINT CHR$(12)
- 2510 GOTO 2410
- 2520 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-